package com.boot;

import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import java.util.Date;

/**
 * jwt token验证测试
 */
public class JwtToken {

    @Test
    public void test01(){
        String token = JWT.create()
                .withExpiresAt(new Date(System.currentTimeMillis()+100000))  //设置过期时间
                .withAudience("zhangsan") //设置接受方信息，一般时登录用户
                .sign(Algorithm.HMAC256("111111"));  //使用HMAC算法，111111作为密钥加密

        String userName = JWT.decode(token).getAudience().get(0);
        Assertions.assertEquals("zhangsan", userName);
        JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256("111111")).build();
        jwtVerifier.verify(token);//没报错说明验证成功

    }

}
